const path = require('path') // 引入path模块
const Uglifyjs = require('uglifyjs-webpack-plugin') // JS压缩插件

module.exports = {
    entry: {
        entry: './src/entry.js', // entry可以随意命名
        entry2: './src/entry2.js'
    }, // 打包入口
    output: {
        path: path.resolve(__dirname, 'dist'), // 工程的绝度路径node的语法
        //filename: 'bundle.js' // 对应<script src="./bundle.js"></script>
        filename: '[name].js' // [name]对应 entry选项中的entry和entry2
    }, // 打包输出
    module: {
        rules: [ // 规则，有打包css的、转换js语法的、sass转换的
            {
                test: /\.css$/, // test用于通过正则表达式找到我们要处理的文件扩展名
                use: [{ loader: 'style-loader' }, { loader: 'css-loader' }]
                // 或者 use: ['style-loader', 'css-loader']
                // 或者 loader: ['style-loader', 'css-loader']
                // 还可以配置include（包含）和exclude（不包含）、query（额外配置项）
            }
        ]
    }, // 转换sass、把es6转换为es5、打包css、图片转换、图片压缩
    plugins: [
        new Uglifyjs() // JS代码压缩
    ], // 插件(可以有多个，所以是数组)
    devServer: {
        contentBase: path.resolve(__dirname, 'dist'),
        host: '192.168.220.1', // 服务器地址，localhost有时候解析不到
        compress: true, // 服务器压缩
        port: 1717 // 端口
    } // Webpack开发服务
}

// 终端使用webpack命令打包（不用当前配置文件的话，那么使用webpack src/entry.js src/dist/bundle.js打包命令）